﻿using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Text;
using ttparser;
namespace test.parser
{
    [TestClass]
    public class UnitTest_math4
    {
        [TestMethod]
        public void simpleNumber()
        {
            //处理器 需要  lexer  parser,"root" parser里面必须有叫root()的 语法函数
            var parser = dumptool.GetParserInfo<ttparser.math4Lexer, ttparser.math4Parser>("root");

            var rc = parser.Parse("0", true, true, true);
            parser.Parse("123", true, true, true);
            parser.Parse("123.4", true, true, true);
            parser.Parse("57.4444", true, true, true);
        }
        [TestMethod]

        public void simpleCalc()
        {
            //处理器 需要  lexer  parser,"root" parser里面必须有叫root()的 语法函数
            var parser = dumptool.GetParserInfo<ttparser.math4Lexer, ttparser.math4Parser>("root");

            parser.Parse("1+1", true, true, true);
            parser.Parse("1*2.1", true, true, true);
            parser.Parse("1+2+2", true, true, true);
            parser.Parse("1*2+2", true, true, true);
            parser.Parse("1+2*2", true, true, true);
            parser.Parse("1*2*2", true, true, true);

        }
        [TestMethod]
        public void simpleCalcGroup()
        {
            //处理器 需要  lexer  parser,"root" parser里面必须有叫root()的 语法函数
            var parser = dumptool.GetParserInfo<ttparser.math4Lexer, ttparser.math4Parser>("root");

            parser.Parse("1+(2+2)*3+3", true, true, true);
            parser.Parse("1*(2+2)", true, true, true);
            parser.Parse("(1+2)*2", true, true, true);
            parser.Parse("(1*2)*2", true, true, true);

        }

    }
}
